Specifies a generic cache entry.
CacheItem<T> provides a generic cache entry. It has a string key and a generic value pair and an optional region.
When an item is added to the cache, the value is serialized and stored physically. Similarly when an item is retrieved, the value is de-serialized. Hence, the CacheItem<T> is just a holder for the cached item and is not itself serialized or saved.